#include <iostream>
#include "UdpServer.hpp"
#include "Route.hpp"
#include <memory>
int main(int argc,char *argv[])
{
    if(argc!=2)
    {
        std::cerr << "Usage: "<< argv[0] << "local_port" << std::endl;
        exit(0);
    }
    uint16_t _port=std::stoi(argv[1]);
    EnableScreen();//启用屏幕日志,调用log.hpp中#define EnableScreen()
    Route messageRoute;
    service_t message_route=std::bind(&Route::Forward,&messageRoute,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3);
    //类的成员函数不能被直接调用，因此通过bind进行绑定进行创建一个新的可调用对象
    std::unique_ptr<UdpServer> usvr=std::make_unique<UdpServer>(message_route,_port);//创建 UDP 服务器对象
    usvr->InitServer(); // usvr 是一个 std::unique_ptr<UdpSever> 类型的智能指针
    usvr->Start();  //通过指针访问成员函数
    return 0;
}